package com.cmc6.websocket.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cmc6.common.model.dto.NotEmptyIdSet;
import com.cmc6.common.model.enums.RequestCategoryEnum;
import com.cmc6.websocket.model.entity.SocketDO;

import java.util.Set;

public interface SocketService extends IService<SocketDO> {

    void online(SocketDO entity);

    void offlineAndNoticeBySocketIdSetAndUserId(Set<Long> socketIdSet, Long userId,
        RequestCategoryEnum requestCategoryEnum);

    void offlineBySocketIdSet(Set<Long> socketIdSet);

    void offlineByUserIdSet(Set<Long> userIdSet);

    void offlineAndNoticeByUserIdSet(Set<Long> userIdSet);

    void offlineAllForCurr();

    String offlineByIdSet(NotEmptyIdSet notEmptyIdSet);

    String offlineAll();

    void offlineByUserIdSetForDeleteUser(Set<Long> idSet);

}
